Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007 2006
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour Salzburg Challenger M25 Biella M25 Telfs Cordenons Challenger Prague 3 Challenger Como Challenger M25 Pardubice Lisbon Challenger Noumea Challenger M25 Reus M15 Dubrovnik Burnie 1 Challenger M25 Antalya M25 Badalona M25 Tarragona M25 Montauban M25 Carnac M15 Split M25 Villeneuve-Loubet Prague Challenger M25 Grasse M25 Uriage M25 Bourg-en-Bresse Seville Challenger M25 Santander M25 Denia Szczecin Challenger Mouilleron-Le-Captif Challenger Roanne Challenger St. Brieuc Challenger Brest Challenger Lyon Challenger Punta Del Este Challenger Brazzaville Challenger M15 Valencia Aix En Provence Challenger M15 Madrid Piracicaba Challenger Kigali 1 Challenger Buenos Aires Challenger M15 Dubrovnik Prague Challenger Bordeaux Challenger M25 Badalona M25 Tarragona M25 Angers M15 Cap d'Agde Madrid Challenger M15 Sofia M25 Metzingen Sofia 1 Challenger Biella Challenger Lisbon Challenger M25 Santa Margherita di Pula Portugal F4 Portugal F5 Portugal F6 Spain F38 Italy F26 Portugal F4 Portugal F5 Portugal F4 Turkey F1 Great Britain F7 Spain F25 Netherlands F4 Netherlands F5 Dominican Republic F2 Portugal F2 Portugal F3 Spain F13 Spain F22 Spain F23 Spain F25 Spain F26 Italy F25 Italy F26 Portugal F4 Portugal F5 Brazil F22 Brazil F23 Brazil F24 Portugal F4 Portugal F5 Brazil F4 France F1 Brazil F5 Brazil F6 Spain F6 Portugal F1 Italy F4 Morocco F2 France F9 France F10 France F12 Morocco F8 USA F2 USA F4 Spain F2 Spain F3 Portugal F1 Spain F5 France F6 France F8 France F13 France F14 Italy F20 Italy F23 Canada F8 Spain F30 Nigeria F2 USA F1 France F1 USA F2 France F2 France F3 Portugal F1 Spain F4 Portugal F2 Spain F6 France F6 Croatia F5 Croatia F6 Bahrain F1 Italy F2 France F9 Chile F3 Romania F1 Morocco F1 Morocco F2 Romania F4 France F10 France F11 Serbia F4 France F13 Denmark F3 Finland F1 Finland F2 Switzerland F5 Italy F27 Italy F28 Spain F34 Spain F35 Spain F36 Qatar F4 Qatar F5 Spain F4 Italy F4 Italy F5 Italy F6 Italy F8 Italy F9 France F9 Croatia F9 Croatia F10 Croatia F11 Morocco F3 Romania F4 Denmark F2 Italy F26 Italy F27 Italy F34 Italy F35 Italy F36 Spain F1 Portugal F1 Spain F5 Portugal F2 Turkey F9 Portugal F3 Turkey F10 Morocco F2 Morocco F3 Spain F9 Italy F6 France F9 Spain F14 Spain F16 Romania F5 France F11 Italy F16 France F14 Serbia F6 Austria F6 Romania F12 Italy F23 Netherlands F6 Portugal F13 Italy F32 Morocco F4 Morocco F5 Tunisia F1 Tunisia F2 Tunisia F3 Tunisia F4 Spain F5 Tunisia F7 Spain F6 Tunisia F9 Tunisia F10 Tunisia F11 Tunisia F12 Tunisia F17 Spain F13 Tunisia F18 Tunisia F19 Portugal F7 Italy F13 Netherlands F1 France F11 Italy F16 France F12 Belgium F7 Germany F9 Romania F12 Italy F25 Italy F31 Portugal F12 Italy F34 Italy F35 USA F36 USA F37 Spain F1 (Manacor) Spain F2 (Manacor) Tunisia F3 (Hammamet) Spain F3 (Paguera) Braga Challenger Tunisia F8 (Hammamet) Tunisia F9 (Hammamet) Italy F5 (Santa Margherita Di Pula) Italy F6 (Santa Margherita Di Pula) Portugal F5 (Quinta Da Marinha) Portugal F6 (Porto) Portugal F7 (Carcavelos) France F10 (Grasse) Turkey F21 (Antalya) Italy F16 (Padova) Netherlands F1 (Alkmaar) Netherlands F2 (Breda) France F14 (Bourg-en-Bresse) Germany F8 (Kassel) Germany F10 (Wetzlar) Romania F10 (Bucharest) Italy F30 (Santa Margherita Di Pula) Spain F33 (Riba - Roja de Turia) Italy F34 (Santa Margherita Di Pula) Tunisia F34 (Hammamet) USA F4 (Sunrise) USA F5 (Weston) USA F6 (Palm Coast) Tunisia F6 (Jerba) Tunisia F7 (Jerba) Croatia F1 (Rovinj) Spain F6 (Xabia) Spain F7 (Reus) France F8 (Angers) France F9 (Grasse) Hungary F2 (Zalaegerszeg) France F10 (Toulouse) France F12 (Bourg-en-Bresse) Italy F18 (Casinalbo) France F14 (Uriage) Portugal F12 (Porto) Belgium F6 (Brussels) Belgium F7 (Eupen) Italy F26 (Trieste) Italy F27 (Santa Margherita Di Pula) Italy F29 (Santa Margherita Di Pula) M15 Grenoble M15 Antalya M15 Antalya M15 Porec M15 Rovinj M15 Opatija M15 Reus M25 Angers M15 Grasse M25 Vercelli M15 Bucharest M25+H Most M25+H Toulouse M25 Montauban M25 Bourg-En-Bresse M25 Casinalbo M25 Bolzano M25+H Appiano M25 Gyor M15 Szekesfehervar M25 Jounieh M25 Jounieh M15 Manacor M25 Eupen M15 Platja D'Aro M15 Platja D'Aro M15 Girona M15 Madrid M25 Saint Dizier M15 Villena M15 Antalya M25 Antalya M25 Muttenz Morocco F1 M15 Valldoreix M25 Vic M15 Ulcinj M15 Budva Portugal F2 M25 Grasse M25 Arlon M15 Bern M25 Marburg M25 Esch/Alzette M15 Vejle Portugal F3 M15 Frederiksberg M15 Eupen M15 Madrid M25 Santa Margherita di Pula M25 Pardubice M15 Prostejov M25 Zaragoza Italy F11 Italy F12 M15 Antalya M15 Antalya Italy F13 M25 Doha M25 Al Zahra M25 Burnie M25 Vila Real de Santo Antonio M25 Vila Real de Santo Antonio M25 Faro M25 Torello M25 Palmanova M15 Antalya M25 Angers M25 Sabadell M25 Gurb M25 Mataro M25 Grasse M25 Bourg-en-Bresse M15 Madrid France F7 USA F3 Napoli Challenger Tunis Challenger Turin Challenger San Benedetto Challenger San Sebastian Challenger Seville Challenger St. Remy Challenger Guayaquil Challenger Cancun Challenger Puebla Challenger Tanger Challenger Meknes Challenger Cremona Challenger Turin Challenger San Benedetto Challenger Cordenons Challenger San Marino Challenger San Sebastian Challenger Geneva Challenger Seville Challenger Ljubljana Challenger Sao Paulo Challenger Medellin Challenger Guayaquil Challenger Cancun Challenger Rabat Challenger Marrakech Challenger St. Brieuc Challenger Napoli Challenger Rijeka Challenger San Benedetto Challenger Trani Challenger San Marino Challenger San Sebastian Challenger Como Challenger Seville Challenger Campinas Challenger Recife Challenger Sao Jose Do Rio Preto Challenger Sao Leopoldo Challenger Buenos Aires Challenger Guayaquil Challenger Montevideo Challenger Noumea Challenger Barranquilla Challenger Barletta Challenger Rome Challenger Napoli Challenger Bordeaux Challenger Marburg Challenger Orbetello Challenger San Marino Challenger Alphen Challenger St. Remy Challenger Trnava Challenger Madrid Challenger San Juan Challenger Rio De Janeiro Challenger Porto Alegre Challenger Medellin Challenger Guayaquil Challenger Sao Paulo Challenger Noumea Challenger Bucaramanga Challenger Sarajevo Challenger Barranquilla Challenger Panama City Challenger Bordeaux Challenger Tanger Challenger Todi Challenger San Benedetto Challenger St. Remy Challenger Campinas Challenger Porto Alegre Challenger Sao Paulo Challenger Sao Jose Do Rio Preto Challenger Buenos Aires Challenger Montevideo Challenger Bogota Challenger Guayaquil Challenger Noumea Challenger Sao Paulo Challenger Burnie Challenger West Lakes Challenger Vercelli Challenger Genova Challenger St. Remy Challenger Biella Challenger Casablanca Challenger Bordeaux Challenger Mestre Challenger Caltanissetta Challenger Blois Challenger Padova Challenger Biella Challenger Cortina Challenger Alphen Challenger Meknes Challenger Kenitra Challenger Sibiu Challenger Porto Alegre Challenger Sao Paulo Challenger Corrientes Challenger Casablanca Challenger Noumea Challenger Santiago Challenger St. Brieuc Challenger Barletta Challenger Turin Challenger Ostrava Challenger Aix En Provence Challenger Lyon Challenger Blois Challenger San Benedetto Challenger Poznan Challenger Tampere Challenger Scheveningen Challenger Liberec Challenger Como Challenger Alphen Challenger Meknes Challenger Kenitra Challenger Campinas Challenger Buenos Aires Challenger Santiago Challenger Lima Challenger Guayaquil Challenger Zhuhai Challenger Shenzhen Challenger Quanzhou Challenger Barletta Challenger Francavilla Challenger Aix En Provence Challenger Bordeaux Challenger Lyon Challenger Lisbon Challenger Blois Challenger Perugia Challenger San Benedetto Challenger Prague Challenger Tampere Challenger Liberec Challenger Como Challenger Alphen Challenger Szczecin Challenger Rome Challenger Punta Del Este Challenger Santiago Challenger Marbella Challenger Alicante Challenger Barletta Challenger Tunis Challenger Braga Challenger Lisbon Challenger Poznan Challenger Lyon Challenger Blois Challenger Milan Challenger Marburg Challenger Tampere Challenger Liberec Challenger Pullach Challenger Meerbusch Challenger Como Challenger Seville Challenger Biella Challenger Sibiu Challenger Florence Challenger Barcelona Challenger Lima Challenger Guayaquil Challenger Montevideo Challenger Buenos Aires Challenger Noumea Challenger Canberra Challenger Marbella Challenger Alicante Challenger Murcia Challenger Tunis Challenger Vicenza Challenger Poznan Challenger Lyon Challenger Blois Challenger Milan Challenger Ludwigshafen Challenger Perugia Challenger Tampere Challenger Meerbusch Challenger Como Challenger Seville Challenger Biella Challenger Sibiu Challenger Florence Challenger Barcelona Challenger Santo Domingo Challenger Lima Challenger Guayaquil Challenger Maia Challenger Punta Del Este Challenger Aix En Provence Challenger Split Challenger Barcelona Challenger Lisbon Challenger Marbella Challenger Guayaquil Challenger Lima Challenger Maia Challenger Santiago Challenger Marbella Challenger Split 1 Challenger Biella 5 Challenger Zagreb Challenger Oeiras 3 Challenger Gran Canaria Challenger Oeiras 1 Challenger Oeiras 2 Challenger Madrid Challenger Aix En Provence Challenger Bordeaux Challenger Lyon Challenger Porto Challenger Liberec Challenger Toulouse Challenger Tulln Challenger France F12 Lisbon Challenger St. Tropez Challenger Valencia Challenger Maia Challenger Noumea Challenger Oeiras 1 Challenger Oeiras 2 Challenger Burnie Challenger Las Franquesas del Valles Challenger Sanremo Challenger Oeiras 3 Challenger Oeiras 4 Challenger Vicenza Challenger Burnie 2 Challenger Italy F10 Estoril Open - Estoril Estoril Open - Estoril Estoril Open - Estoril Grand Prix Hassan II - Casablanca Estoril Open - Estoril Brasil Open - Costa do Sauipe Estoril Open - Estoril Estoril Open - Estoril Estoril Open - Estoril Open 13 - Marseille Portugal Open - Oeiras Heineken Open - Auckland Open 13 - Marseille Open Sud de France - Montpellier Grand Prix Hassan II - Casablanca Millennium Estoril Open - Estoril Grand Prix Hassan II - Marrakech Millennium Estoril Open - Estoril Open 13 - Marseille Millennium Estoril Open - Estoril Qatar ExxonMobil Open - Doha Rio Open - Rio de Janeiro Millennium Estoril Open - Estoril SkiStar Swedish Open - Bastad Tata Open Maharashtra - Pune Sydney International - Sydney Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Barcelona Open Banc Sabadell - Barcelona Millennium Estoril Open - Estoril Plava Laguna Croatia Open - Umag Cordoba Open - Cordoba Argentina Open - Buenos Aires Santiago Open - Santiago Murray River Open - Melbourne Cordoba Open - Cordoba Chile Dove Men+Care Open - Santiago Millennium Estoril Open - Estoril Nordea Open - Bastad Barcelona Open Banc Sabadell - Barcelona Millennium Estoril Open - Estoril Nordea Open - Bastad Hamburg European Open - Hamburg Millennium Estoril Open - Estoril Open Parc - Lyon Nigeria F1 M25+H Pontedera Rolex Paris Masters - Paris Miami Open - Miami French Open - Paris Wimbledon - London U.S. Open - New York French Open - Paris U.S. Open - New York French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York French Open - Paris Australian Open - Melbourne U.S. Open - New York Australian Open - Melbourne French Open - Paris U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York French Open - Paris Wimbledon - London U.S. Open - New York Davis Cup, Group 1, PO, MAR-POR 2-3 Davis Cup, Group 1, 1R, GEO-POR 3-2 M25 Wetzlar Davis Cup, Group 2, 1R, POR-DEN 4-1 Davis Cup, Group II, 1R, POR-BEN 5-0 Davis Cup, Group II, 2R, POR-LTU 5-0 Davis Cup, Group I, 1R, POR-AUT 1-4 Davis Cup, Group I, PO, POR-SLO 5-0 Davis Cup, Group I, 1R, POR-ISR 5-0 Davis Cup, Group I, 2R, POR-UKR 4-1 Davis Cup, World Group, PO, POR-GER 2-3 Davis Cup, Group I, PO, UKR-POR 3-1 Davis Cup, Group I, PO, POR-RSA 4-0 Davis Cup, World Group, QR, KAZ-POR 3-1 Davis Cup, Group I, 1R, BLR-POR 3-2 Davis Cup, World Group I, PO, LTU-POR 0-4 French Open (juniors) Wimbledon (juniors) U.S. Open (juniors) Internationaux de Nouvelle-Caledonie - New Caledonia Quito Challenger Trnava Challenger Santo Domingo Challenger All Lower level tournaments Olympics - Tokyo Luedenscheid Challenger Open 13 - Marseille Kigali 2 Challenger